﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FSM_Framework.StateMachine
{
    /// <summary>
    /// 状态机迁移动作
    /// </summary>
    public class TransitionAction
    {
        public Func<object, bool> CanExecute { get; set; }
        //迁移动作
        public Action<object> Execute { get; set; }

        public object Parameter { get; set; }

        /// <summary>
        /// 迁移前动作
        /// </summary>
        public Action<object> PreAction { get; set; }
        /// <summary>
        /// 迁移后动作
        /// </summary>
        public Action<object> PostAction { get; set; }
    }
}
